// pages/setting/setting.ts
Page({

  /**
   * 页面的初始数据
   */
  data: {
    avatarUrl:'',
    nickName:'',
    isEditingName:''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    var user = wx.getStorageSync('user');
this.setData({
  avatarUrl:user.avatarUrl,
  nickName:user.nickName
})
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },
  changeAvatar() {
    let that = this;
    wx.chooseImage({
      count: 1, // 默认9
      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
      success(res) {
        // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
        that.setData({
          avatarUrl:res.tempFilePaths[0]
        })
        wx.getFileSystemManager().readFile({
          filePath:that.data.avatarUrl, // 选择图片返回的相对路径
          encoding: "base64", // 编码格式
          success: res => {
            // 将 base64 编码的图片数据转换为图片 URL
            const imageUrl = "data:image/png;base64," + res.data;
            console.log(imageUrl)
            // 更新页面上的图片预览
            that.setData({
              avatarUrl:imageUrl
            })
            console.log(that.data.avatarUrl)
          },
          fail: error => {
            console.error('读取图片失败:', error);
          }
        });
        // 这里可以进行图片裁剪等操作，下面是示例代码
      }
    });
  },
  stopPropagation(){

  },
  // 更换用户名
  changeName() {
    this.setData({
      isEditingName: true // 显示输入框
    });
  },

  // 保存修改
  saveChanges() {
    // 这里应该有代码将修改后的 user 对象发送给后端
    // 示例伪代码：
    if(this.data.nickName.length==0){
      this.setData({
        nickName:"微信用户"
      })
    }
    var openId=wx.getStorageSync("openId")
     wx.request({
     url: 'https://9p47q51245.goho.co/change_user',
      method: 'POST',
      data: {
        openId:openId,
        avatarUrl: this.data.avatarUrl,
         nickName: this.data.nickName
       },
       success(res) {
        wx.showToast({
          title: '保存成功',
          icon: 'success',

        });
      
        // 2秒后跳转到 pages/me/me 页面
        setTimeout(function() {
          wx.switchTab({
            url: '/pages/me/me'
          });
        }, );
       },
      fail(err) {
        wx.showToast({
          title: '请求失败',
          icon: 'none'
        });
       }
     });

    // 更新本地缓存
    wx.setStorageSync('user', this.data.user);
  },

  // 监听输入框的输入事件
  onNameInput(e) {
    let value = e.detail.value;
    // 检查输入长度是否超过10个字符
    if (value.length > 10) {
      // 显示自定义模态对话框
      this.showToast({
        title: '用户名最多不能超过10个字符',
        icon: 'none',
        duration: 2000
      });
      // 截断超出部分的字符
      value = value.substring(0, 10);
    } else if (value.length === 0) {
      // 如果用户名长度为0，阻止保存操作并显示提示
      wx.showToast({
        title: '用户名不能为空',
        icon: 'none',
        duration: 2000
      });
      return; // 阻止保存操作
    }
    // 更新用户名的数据
    this.setData({
      nickName: value
    });
  },

  // 自定义模态对话框
  showToast(options) {
    wx.showModal({
      title: '提示',
      content: options.title,
      showCancel: false,
      confirmText: '确定',
      confirmColor: '#3CC51F',
      success: function (res) {
        if (res.confirm) {
          wx.hideToast();
        }
      }
    });
  },

  // 取消编辑用户名
  cancelEditName() {
    this.setData({
      isEditingName: false
    });
  },
  back:function(){
    wx.navigateBack({
      delta: 1  // 返回的页面数，默认为1
    });
  },
})